package com.project.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 
 */
@Data
@TableName(value = "cms_user_address")
@Table(name = "cms_user_address", comment = "用户地址")
public class CmsUserAddress implements Serializable {
    /**
     * 用户地址ID
     */
    @TableId
    @Column(type= MySqlTypeConstant.BIGINT, comment = "用户地址ID", length = 11, isKey = true, isAutoIncrement = true,isNull = false)
    private Long addressId;

    /**
     * 用户ID
     */
    @Column(comment = "用户ID")
    private Long baseUserId;

    /**
     * 联系人
     */
    @Column(comment = "联系人")
    private String name;

    /**
     * 联系方式
     */
    @Column(comment = "联系方式")
    private String mobile;

    /**
     * 省份名称
     */
    @Column(comment = "省份名称")
    private String provinceName;

    /**
     * 市（区）名称
     */
    @Column(comment = "市（区）名称")
    private String cityName;

    /**
     * 县（区）名称
     */
    @Column(comment = "县（区）名称")
    private String countyName;

    /**
     * 乡镇下级详情
     */
    @Column(comment = "乡镇下级详情")
    private String town;

    /**
     * 全地址
     */
    @Column(comment = "全地址")
    private String allAdress;

    /**
     * 默认地址(1:默认,0：非默认)
     */
    @Column(comment = "默认地址(1:默认,0：非默认)", defaultValue = "0")
    private Integer defaultAdress;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    @Column(comment = "经度", type = MySqlTypeConstant.DOUBLE, length = 10, decimalLength = 6)
    private Double longitude;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    @Column(comment = "纬度", type = MySqlTypeConstant.DOUBLE, length = 10, decimalLength = 6)
    private Double latitude;

    /**
     * 创建人
     */
    @Column(comment = "创建人")
    private Long createUser;

    /**
     * 创建时间
     */
    @Column(comment = "创建时间", type = MySqlTypeConstant.DATETIME)
    private Date createTime;

    /**
     * 修改人
     */
    @Column(comment = "修改人")
    private Long updateUser;

    /**
     * 修改时间
     */
    @Column(comment = "修改时间", type = MySqlTypeConstant.TIMESTAMP)
    private Date updateTime;

    /**
     * 状态（-1:删除,1:正常）
     */
    @Column(comment = "删除标志（-1:删除,1:正常）", defaultValue = "1")
    private Integer status;

    private static final long serialVersionUID = 1L;

    public Long getAddressId() {
        return addressId;
    }

    public void setAddressId(Long addressId) {
        this.addressId = addressId;
    }

    public Long getBaseUserId() {
        return baseUserId;
    }

    public void setBaseUserId(Long baseUserId) {
        this.baseUserId = baseUserId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getCountyName() {
        return countyName;
    }

    public void setCountyName(String countyName) {
        this.countyName = countyName;
    }

    public String getTown() {
        return town;
    }

    public void setTown(String town) {
        this.town = town;
    }

    public String getAllAdress() {
        return allAdress;
    }

    public void setAllAdress(String allAdress) {
        this.allAdress = allAdress;
    }

    public Integer getDefaultAdress() {
        return defaultAdress;
    }

    public void setDefaultAdress(Integer defaultAdress) {
        this.defaultAdress = defaultAdress;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(Long updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
}